package org.usfirst.frc4762.RoboSaints.commands;
import edu.wpi.first.wpilibj.command.Command;
import edu.wpi.first.wpilibj.camera.AxisCamera;
/**
 *
 */
public class  AxisCamTest extends Command {
    AxisCamera cam = AxisCamera.getInstance();
    public AxisCamTest() {
        // Use requires() here to declare subsystem dependencies
        // eg. requires(chassis);
        /*
         For-each loop is unsupported for some reason; might need to fix this problem later (or never).
         String[] array = {"Rotation", "Max FPS", "Compression", "Resolution", "Exposure Priority", "Exposure Control", "Color Level", "White Balance", "Brightness"};
         int[] array2 = {cam.getRotation().value, cam.getMaxFPS(), cam.getCompression(), cam.getResolution().value, cam.getExposurePriority().value, cam.getExposureControl().value, cam.getColorLevel(), cam.getWhiteBalance().value, cam.getBrightness()};
         String[] array3;
         array3 = new String[10];
         for (int i = 0; i < array2.length; i++) {
             array3[i] = array2[i].toString(); 
         }
         */
    }
    // Called just before this Command runs the first time
    protected void initialize() {
        // Unimpotant system print messages START.
        System.out.println("Camera Rotation: " + cam.getRotation());
        System.out.println("Camera Max FPS: " + cam.getMaxFPS());
        System.out.println("Camera Compression: " + cam.getCompression());
        System.out.println("Camera Resolution: " + cam.getResolution());
        System.out.println("Camera Exposure Priority: " + cam.getExposurePriority());
        System.out.println("Camera Exposure Control: " + cam.getExposureControl());
        System.out.println("Camera Color Level: " + cam.getColorLevel());
        System.out.println("Camera White Balance: " + cam.getWhiteBalance());
        System.out.println("Camera Brightness " + cam.getBrightness());
        // Unimpotant system print messages END.
        // Camera API can be added from here.
    }
    // Called repeatedly when this Command is scheduled to run
    protected void execute() {
    }
    // Make this return true when this Command no longer needs to run execute()
    protected boolean isFinished() {
        return false;
    }
    // Called once after isFinished returns true
    protected void end() {
    }
    // Called when another command which requires one or more of the same
    // subsystems is scheduled to run
    protected void interrupted() {
    }
}
